package com.ruoyi.charge.service;

import com.mybatisflex.core.service.IService;
import com.ruoyi.charge.domain.ChargerGun;

import java.util.List;

/**
 * 充电枪 服务层
 *
 * @author laifeng
 */
public interface IChargerGunService extends IService<ChargerGun> {

    /**
     * 根据充电桩编号获取充电枪列表
     *
     * @param sn
     * @return
     */
    List<ChargerGun> getChargerGunListCacheBySn(String sn);

    /**
     * 根据充电桩编号以及枪号获取充电枪
     */
    ChargerGun getChargerGunCacheBySnAndNumber(String sn, String number);

    /**
     * 新增充电枪
     *
     * @param chargerGun
     * @return
     */
    boolean addChargerGun(ChargerGun chargerGun);

    /**
     * 修改充电枪
     *
     * @param chargerGun
     * @return
     */
    boolean updateByIdChargerGun(ChargerGun chargerGun);

    /**
     * 删除充电枪
     *
     * @param list
     * @return
     */
    boolean removeChargerGunsByIds(List<Long> list);

    /**
     * 根据充电桩id将充电器的状态置为离线
     */
    void setChargerGunOfflineByChargerSn(String chargerSn);
}
